package Java.BlackHorse.Function;

import java.util.ArrayList;
import java.util.Collections;
import java.util.function.Function;

public class FunctionDemo5 {
    /*
    * 方法引用（类名引用成员方法）
    *  格式：  类名：：成员方法
    *
    *
    *
    *  局限性：
    *   不能引用所有类中的成员方法
    *   是跟抽象类方法的第一个参数有关，这个参数是什么类型的，那么就只能引用这个类中的方法
    * */
    public static void main(String[] args) {
        /*
        * 需求：集合中有一些字符串，要求变成大写后输出
        * */

        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"aaa","bbb","ccc","ddd");

        //常规写法
        /*
        list.stream().map(new Function<String, String>() {
            @Override
            public String apply(String s) {
                return s.toUpperCase();
            }
        }).forEach(s -> System.out.println(s));
        */
        list.stream().map(String::toUpperCase).forEach(s -> System.out.println(s));


    }
}
